function Game(el){

this.el=document.querySelector(el)

this.t = null
//将地图标签对象传递给map构造函数，里面设置宽度高度等
// this.t=setInterval(()=>{
//     this.snake.move()
//         },1000)
// 搞地图
this.map=new Map(this.el)
this.map.create()
// 搞食物
this.food=new Food(this.el)
this.food.create()
// 搞蛇
this.snake=new Snake(this.el)
this.snake.create()

}
Game.prototype.start = function(){
    this.t = setInterval(()=>{
        // 蛇动
        this.snake.move()
        
        // 判断吃食
        let snakeX = this.snake.snakeObj[0].x * 20
        let snakeY = this.snake.snakeObj[0].y * 20
        let foodX = this.food.foodX
        let foodY = this.food.foodY
        
        if (snakeX == foodX && snakeY == foodY) {

            let last = this.snake.snakeObj[this.snake.snakeObj.length - 1]

            this.snake.snakeObj.push({
                x: last.x, 
                y : last.y, 
                color: last.color, 
                el:null
            })
            this.snake.create() //重新绘制蛇
            // 食物动
            this.food.move()
            }
        
    }, 500)

    // 监控键盘上下左右键  来动态更改蛇的direction
    document.addEventListener('keydown', (e) => {
        // 获取事件对象
        e = e || window.event
        // 获取键盘
        console.log(e.keyCode) // 38 40 37 39

        switch (e.keyCode) 
        {
            case 38:
                this.snake.direction = 'top'
                break;
            case 40:
                this.snake.direction = 'bottom'
                break;
            case 37:
                if (this.snake.direction == 'right') {
                    alert('游戏结束')
                }
                this.snake.direction = 'left'
                break;
            case 39:
                this.snake.direction = 'right'
                break;
            default:
                break;
        }
    })
}
Game.prototype.stop=function(){
 clearInterval(this.t)
 console.log(this.t)
}




